/*
 * File:Command.java Type:net.wangds.common.command.Command
 */

package net.wangds.common.command;

import net.wangds.common.processor.Processor;

/**
 * 命令接口.
 * <p>
 * <h1>修改列表:</h1>
 * <ol>
 * <li>初始版本, by wangds@gmail.com, 2013-11-7 上午10:28:08</li>
 * </ol>
 * </p>
 * 
 * @author wangds@gmail.com
 * @version 0.1.1
 * @since 0.1
 */
public interface Command<R extends CommandReceiver> extends Processor {

  /**
   * 设置命令接收者.
   * 
   * @param <R>
   *          命令接收者类型.
   * @param receiver
   *          命令接收者.
   */
  void setReceiver(R receiver);

  /**
   * 获得命令接收者.
   * 
   * @param <R>
   *          命令接收者类型.
   * @return 命令接收者.
   */
  R getReceiver();

}
